A Thread Debugger for Testing and Reproducing Concurrency Scenarios

نویسندگان

  • Douglas Niehaus
  • Joseph Evans
  • Satyavathi Malladi
چکیده

Definitive testing of concurrency scenarios Execution sequence of multithreaded programs inherently nondeterministic Program behavior in different executions need not be the same Context switches, event ordering and synchronization are main reasons Mismatch between programming model and debugging model Capability to record, analyze and playback particular execution sequences Software pattern needed over which definitive replay can be done Software pattern BERT used for building concurrent software BERT is based on the Reactor pattern Reactor provides event de-multiplexing framework Events captured by the Reactor Event can be I/O completion, timer expiration or signal Concurrent software built using the BERT uses a user level thread library(Bthreads) Bthreads uses the many-to-one model Bthreads library provides capabilities for user specified context switching and locking the scheduler GNU debugger (GDB) extended to provide the capability to debug software written using the Bthreads library Capability to record events of interest provided within the thread library Capability to replay an execution sequence illustrated in the debugger 6 Background Challenges in debugging multithreaded programs Execution control interleaves between the threads Threads may voluntarily suspend and resume execution or they might do it as a result of events like signals Order of interleaving between threads partially determined by synchronization between the threads

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Debugging Multi-Threaded Applications using Pin-Augmented GDB (PGDB)

In contrast to single threaded applications, debugging multi-threaded applications is complex because of the non-deterministic nature of concurrent programs. Multiple threads in concurrent programs introduce bugs like datarace, deadlock and livelock. Popular debuggers like GNU Debugger (GDB), Intel Debugger (IDB) and Microsoft Visual Studio Debugger (MVSD) typically use static or compile-time i...

متن کامل

Preemption Sealing for Efficient Concurrency Testing

The choice of where a thread scheduling algorithm preempts one thread in order to execute another is essential to reveal concurrency errors such as atomicity violations, livelocks, and deadlocks. We present a scheduling strategy called preemption sealing that controls where and when a scheduler is disabled from preempting threads during program execution. We demonstrate that this strategy is ef...

متن کامل

Evaluating Concurrency Options in Software Specifications

An approach called PERFECT is described which evaluates the feasibility of proposed software concurrency architectures for a set of scenarios and a set of quality-of-service requirements. An evaluation is performed by constructing and simulating a virtual implementation which conforms to the specified behaviour and the specified concurrency architecture. For simulation, the execution of applica...

متن کامل

A New Approach for Solving Volterra Integral Equations Using The Reproducing Kernel ‎Method

This paper is concerned with a technique for solving Volterra integral equations in the reproducing kernel Hilbert space. In contrast with the conventional reproducing kernel method, the Gram-Schmidt process is omitted here and satisfactory results are obtained.The analytical solution is represented in the form of series.An iterative method is given to obtain the approximate solution.The conver...

متن کامل

Effective testing for concurrency bugs

In the current multi-core era, concurrency bugs are a serious threat to software reliability. As hardware becomes more parallel, concurrent programming will become increasingly pervasive. However, correct concurrent programming is known to be extremely challenging for developers and can easily lead to the introduction of concurrency bugs. This dissertation addresses this challenge by proposing ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003